Wireless proximity pairing of user-interface devices

ABSTRACT

In order to establish a connection between electronic devices, after receiving an advertising packet from another electronic device, an electronic device compares a performance metric associated with the communication with the other electronic device with a threshold value. Based on the comparison, the electronic device provides pairing-intent information specifying a pairing intent for the electronic device and the other electronic device for presentation by the other electronic device. Moreover, after receiving additional pairing-intent information specifying the pairing intent from the other electronic device, the electronic device establishes the connection with the other electronic device when the additional pairing-intent information matches the pairing-intent information. For example, the pairing intent may include a gesture and/or a sequence of one or more characters, and the additional pairing-intent information may include: the sequence of one or more characters; accelerometer data corresponding to the gesture; and/or user-interface data corresponding to the gesture.

BACKGROUND

1. Field

The described embodiments relate to techniques for wirelessly pairinguser-interface devices.

2. Related Art

Many modern electronic devices include a networking subsystem that isused to wirelessly communicate with other electronic devices. Forexample, these electronic devices can include a networking subsystemwith a cellular network interface (UMTS, LTE, etc.), a wireless localarea network interface (e.g., a wireless network such as described inthe Institute of Electrical and Electronics Engineers (IEEE) 802.11standard or Bluetooth® from the Bluetooth Special Interest Group ofKirkland, Wash.), and/or another type of wireless interface.

Many of these communication protocols require electronic devices toestablish a connection (which is sometimes referred to as ‘pairing’ or‘association’). However, it is often difficult to pair electronicdevices. For example, in order to pair two electronic devices usingBluetooth, a user may need to initiate the pairing through a complicateduser interface. Because the user interface can be difficult for users touse, the pairing procedure often degrades the user experience.

SUMMARY

The described embodiments relate to an electronic device thatfacilitates wireless proximity pairing. This electronic device includes:an antenna; and an interface circuit, coupled to the antenna, whichcommunicates with at least another electronic device. During operation,the interface circuit: receives an advertising packet from the otherelectronic device; compares a performance metric associated with thecommunication with the other electronic device with a threshold value;and provides pairing-intent information specifying a pairing intent forthe electronic device and the other electronic device for presentationby the other electronic device based on the comparison. Moreover, theinterface circuit: receives additional pairing-intent informationspecifying the pairing intent from the other electronic device; andestablishes a connection with the other electronic device when theadditional pairing-intent information matches the pairing-intentinformation.

Furthermore, establishing the connection may involve: providing acommand to the other electronic device to transition to a discovery modewhen the additional pairing-intent information matches thepairing-intent information; receiving confirmation from the otherelectronic device that the other electronic device is in the discoverymode; and establishing the connection.

In some embodiments, prior to establishing the connection, the interfacecircuit compares the pairing-intent information and the additionalpairing-intent information.

Note that the performance metric may include a received signal strengthindicator. Moreover, the pairing intent may include: a gesture; and/or asequence of one or more characters. Furthermore, the additionalpairing-intent information may include: the sequence of one or morecharacters; accelerometer data corresponding to the gesture; and/oruser-interface data corresponding to the gesture.

Additionally, the interface circuit may: determine that a set of one ormore additional electronic devices is waiting to connect with the otherelectronic device; share that the electronic device is waiting toconnect with the other electronic device with the set of one or moreadditional electronic devices; provide the performance metric to the setof one or more additional electronic devices; and receive performancemetrics from the set of one or more additional electronic devices.

In some embodiments, the interface circuit: receives advertising packetsfrom a set of one or more additional electronic devices; comparesperformance metrics associated with the communication with the set ofone or more additional electronic devices with the threshold value;identifies at least a subset of the set of one or more additionalelectronic devices based on the comparisons; and repeats the providingof the pairing-intent information, the receiving of the additionalpairing-intent information, and the establishing of the connection forthe set of one or more additional electronic devices.

Another embodiment provides an electronic device that includes: anantenna; an interface circuit, coupled to the antenna, whichcommunicates with at least another electronic device; a processor; andmemory that stores a program module. This program module may be executedby the processor to establish a connection. In particular, the programmodule may include instructions for at least some of the previouslydescribed operations performed by the interface circuit.

Another embodiment provides a method for establishing the connectionbetween the electronic device and the other electronic device. Duringoperation, the electronic device receives the advertising packet fromthe other electronic device. Then, the electronic device compares theperformance metric associated with communication with the otherelectronic device with the threshold value. Moreover, the electronicdevice provides pairing-intent information specifying the pairing intentfor the electronic device and the other electronic device to the user ofthe other electronic device based on the comparison. For example, theother electronic device may present the pairing-intent information.Alternatively, the electronic device may display the pairing-intentinformation. Next, the electronic device receives the additionalpairing-intent information specifying the pairing intent from the otherelectronic device. Furthermore, the electronic device establishes theconnection with the other electronic device when the additionalpairing-intent information matches the pairing-intent information.

This Summary is provided merely for purposes of reviewing some exemplaryembodiments, so as to provide a basic understanding of some aspects ofthe subject matter described herein. Accordingly, it will be appreciatedthat the above-described features are merely examples and should not beconstrued to narrow the scope or spirit of the subject matter describedherein in any way. Other features, aspects, and advantages of thesubject matter described herein will become apparent from the followingDetailed Description, Figures, and Claims.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a block diagram illustrating electronic devices wirelesslycommunicating in accordance with an embodiment of the presentdisclosure.

FIG. 2 is a method for establishing a connection between electronicdevices in FIG. 1 in accordance with an embodiment of the presentdisclosure.

FIG. 3 is a drawing illustrating communication between the electronicdevices of FIG. 1 in accordance with an embodiment of the presentdisclosure.

FIG. 4 is a method for establishing a connection between electronicdevices in FIG. 1 in accordance with an embodiment of the presentdisclosure.

FIG. 5 is a method for establishing a connection between electronicdevices in FIG. 1 in accordance with an embodiment of the presentdisclosure.

FIG. 6 is a method for establishing a connection between electronicdevices in FIG. 1 in accordance with an embodiment of the presentdisclosure.

FIG. 7 is a block diagram illustrating one of the electronic devices ofFIG. 1 in accordance with an embodiment of the present disclosure.

Note that like reference numerals refer to corresponding partsthroughout the drawings. Moreover, multiple instances of the same partare designated by a common prefix separated from an instance number by adash.

DETAILED DESCRIPTION

In order to establish a connection between electronic devices, afterreceiving an advertising packet from another electronic device, anelectronic device compares a performance metric associated with thecommunication (such as the received signal strength indicator) with theother electronic device with a threshold value. Based on the comparison,the electronic device provides pairing-intent information specifying apairing intent for the electronic device and the other electronic deviceto a user of the other electronic device. For example, the otherelectronic device may present the pairing-intent information.Alternatively, the electronic device may display the pairing-intentinformation. Moreover, after receiving additional pairing-intentinformation specifying the pairing intent from the other electronicdevice, the electronic device establishes the connection with the otherelectronic device when the additional pairing-intent information matchesthe pairing-intent information.

For example, the pairing intent may include a gesture and/or a sequenceof one or more characters, and the additional pairing-intent informationmay include: the sequence of one or more characters; accelerometer datacorresponding to the gesture; and/or user-interface data correspondingto the gesture. Thus, gestures and/or sequences of one or morecharacters may be used to clarify the pairing intent for the electronicdevice and the other electronic device, which may simplify the procedurefor pairing the electronic device and the other electronic device and,thus, may improve the user experience.

While a wide variety of communication protocols may be used inconjunction with this communication technique (such as a communicationprotocol compatible with an Institute of Electrical and ElectronicsEngineers or IEEE 802.11 standard, or another type of wirelessinterface), in the discussion that follows Bluetooth® Low Energy or BTLE(from the Bluetooth Special Interest Group of Kirkland, Wash.) is usedas an illustrative example.

The communication between the electronic devices is shown in FIG. 1,which presents a block diagram illustrating input device 110 andelectronic device 112 wirelessly communicating. In particular, theseelectronic devices may wirelessly communicate while: detecting oneanother by scanning wireless channels, transmitting and receivingadvertisements (which are sometimes referred to as ‘advertising frames’or ‘advertising packets’) on wireless channels, establishing connections(for example, by transmitting connect or association requests), and/ortransmitting and receiving packets (which may include the request and/oradditional pairing-intent information as payloads).

As described further below with reference to FIG. 7, input device 110and electronic device 112 may include subsystems, such as a networkingsubsystem, a memory subsystem and a processor subsystem. In addition,input device 110 and electronic device 112 may include radios 114 in thenetworking subsystems. More generally, input device 110 and electronicdevice 112 can include (or can be included within) any electronicdevices with the networking subsystems that enable input device 110 andelectronic device 112 to wirelessly communicate with another electronicdevice. This can comprise transmitting advertisements on wirelesschannels to enable electronic devices to make initial contact with ordetect each other, followed by exchanging subsequent data/managementframes (such as connect or association requests) to establish aconnection, configure security options (e.g., IPSec), transmit andreceive packets or frames via the connection, etc.

As can be seen in FIG. 1, wireless signals 116 (represented by a jaggedline) are transmitted from a radio 114-1 in input device 110. Thesewireless signals 116 are received by radio 114-2 in electronic device112. In particular, input device 110 (such as a peripheral or auser-interface device, e.g., a keyboard or a trackpad) may broadcast ortransmit advertisements. In turn, electronic device 112 (such as asmartphone or a laptop computer) may receive one or more advertisements,thereby detecting the presence of input device 110. This may allow inputdevice 110 and electronic device 112 to optionally establish aconnection and communicate with each other.

However, it can be difficult to establish a desired connection betweeninput device 110 and electronic device 112. Suppose, for example, usersof input device 110 and electronic device 112 want to associate inputdevice 110 and electronic device 112 to establish a BTLE connection. Ifinput device 110 and electronic device 112 are the only devices inproximity, then when electronic device 112 detects the presence of inputdevice 110 (based on one or more received advertisements), electronicdevice 112 can establish the BTLE connection with input device 110 byexchanging connection information (including encryption keys) with inputdevice 110.

When there are additional input devices in proximity (such as inputdevice 118), the procedure may be more complicated, because electronicdevice 112 may detect input devices 110 and 118 and may not know withwhich one the user of electronic device 112 wants to establish the BTLEconnection. Alternatively, there may be another host (such as electronicdevice 120) that also wants to pair with input device 110 (e.g.,electronic device 112 may detect that electronic device 120 is waitingto pair with input device 110).

As described further below with reference to FIGS. 2-6, these problemsmay be addressed using the communication technique. As an illustration,suppose users of input device 110 and electronic device 112 want toestablish a BTLE connection. After electronic device 112 detects anadvertisement from input device 110, electronic device 112 may confirmthat input device 110 is in proximity to electronic device 112 bycomparing a performance metric associated with the communication betweeninput device 110 and electronic device 112 to a threshold value. Inparticular, a received signal strength indicator (RSSI) may be comparedto the threshold value (such as −50 to −60 dBm). (Note, however, thatRSSI is used as an illustration, and that a wide variety of performancemetrics may be used, such as: a mean-square error relative to a targetpattern, a bit error rate, a packet error rate, a signal-to-noise ratio,etc.) If the RSSI exceeds the threshold value, electronic device 112 mayprovide pairing-intent information specifying a pairing intent for inputdevice 110 and electronic device 112. For example, electronic device 112may display pairing-intent information specifying a gesture and/or asequence of one or more characters. (Alternatively, electronic device112 may communicate the pairing-intent information to input device 110,which may present the pairing-intent information to a user of inputdevice 110.)

In response, the user of input device 110 may perform the gesture and/orthe sequence of one or more characters. This may involve using atouch-sensitive display (or ‘touchscreen’) to ‘write’ the gesture or thecharacter. Alternatively, the user of input device 110 may perform atwo- or three-dimensional gesture in space while holding input device110 in their hand. One or more sensors in input device 110 (such as anorientation sensor or an accelerometer) may capture measurementsassociated with the gesture. Similarly, the user of input device 110 mayenter the sequence of one or more characters using anotheruser-interface device, such as a keyboard or via speakers using avoice-recognition technique.

Then, input device 110 may communicate additional pairing-intentinformation (such as an output from the touch-sensitive display,user-interface data, the measurements from the one or more sensors,e.g., accelerometer data, the signature characteristics of a gesture,etc.) specifying the pairing intent to electronic device 112. Forexample, the additional pairing-intent information may be communicatedbetween input device 110 and electronic device 112 via wirelesscommunication. Next, electronic device 112 may establish the BTLEconnection with input device 110 if the additional pairing-intentinformation matches the pairing-intent information. This may involveproviding a command or an instruction to input device 110 to transitionto a discovery mode. After receiving confirmation that input device 110has transitioned to the discovery mode, input device 110 and electronicdevice 112 may establish the BTLE connection.

In some embodiments, when electronic device 112 receives advertisementsfrom a set of one or more input devices (such as input devices 110 and118), input device 110 may compare performance metrics associated withthe communication with input devices 110 and 118 with the thresholdvalue. Based on the comparisons, electronic device 112 identifies atleast a subset of the set of electronic devices. For example, RSSIvalues for the communication with input devices 110 and 118 may becompared to the threshold value, and the electronic devices having RSSIvalues exceeding the threshold value may be included in the subset. (Forpurposes of illustration, the subset may include input devices 110 and118.) Then, electronic device 112 may provide pairing-intent informationspecifying the pairing intent to users of input devices 110 and 118. (Ingeneral, the pairing-intent information provided to the user of inputdevice 110 may be different than the pairing-intent information providedto the user of input device 118.) After receiving the additionalpairing-intent information from input devices 110 and 118, electronicdevice 112 may establish the BTLE connections with input devices 110 and118 if the additional pairing-intent information matches thepairing-intent information.

Additionally, when electronic device 112 receives advertisements from aset of one or more hosts (such as electronic device 120) waiting toconnect with input device 110, electronic device 112 may share thatelectronic device 112 is waiting to connect with input device 110 withelectronic device 120. Moreover, electronic device 112 may provide theperformance metric to electronic device 120, and may receive aperformance metric (associated with the communication between inputdevice 110 and electronic device 120) from electronic device 120. Usingthis information, electronic device 112 may identify a subset of the oneor more hosts, such as electronic devices 112 and 120. For example,electronic device 112 may compare the performance metrics (such as RSSIvalues) to the threshold value. Then, electronic device 112 may providepairing-intent information specifying the pairing intent to users of theset of one or more hosts, which these users may provide to the user ofinput device 110 to coordinate establishing BTLE connections. (Onceagain, the pairing-intent information provided to the users of the oneor more hosts may be different or distinct from each other.) Inaddition, electronic device 112 may provide the pairing-intentinformation specifying the pairing intent to the user of input device110 and, after receiving the additional pairing-intent information frominput device 110, may establish the BTLE connection.

In these ways, the communication technique may simplify and coordinateestablishing connections among input device 110, electronic device 112,input device 118 and/or electronic device 120. This may reduce userfrustration and may improve the user experience when using electronicdevice 112.

In the described embodiments, processing a packet or frame in inputdevice 110, electronic device 112, input device 118 and electronicdevice 120 includes: receiving wireless signals 116 with the packet orframe; decoding/extracting the packet or frame from received wirelesssignals 116 to acquire the packet or frame; and processing the packet orframe to determine information contained in the packet or frame (such asthe additional pairing-intent information in the payload).

Although we describe the network environment shown in FIG. 1 as anexample, in alternative embodiments, different numbers or types ofelectronic devices may be present. For example, some embodimentscomprise more or fewer electronic devices. As another example, inanother embodiment, different electronic devices are transmitting and/orreceiving packets or frames.

We now further describe the communication technique. FIG. 2 presents amethod 200 for establishing a connection between electronic devices inFIG. 1 (such as input device 110 and electronic device 112), which maybe performed by electronic device 112. During operation, the electronicdevice receives an advertising packet from another electronic device(operation 210).

Then, the electronic device compares a performance metric associatedwith communication with the other electronic device with a thresholdvalue. If a comparison criterion is not achieved (operation 212), method200 ends. For example, if the performance metric is less than thethreshold value (or, depending on the performance metric used, greaterthan the threshold value), method 200 may end. Otherwise (operation212), the electronic device provides pairing-intent information(operation 214) specifying a pairing intent for the electronic deviceand the other electronic device to a user of the other electronic devicebased on the comparison. For example, the other electronic device maypresent the pairing-intent information. Alternatively, the electronicdevice may display the pairing-intent information.

Next, the electronic device receives additional pairing-intentinformation (operation 216) specifying the pairing intent from the otherelectronic device.

Furthermore, the electronic device establishes a connection (operation220) with the other electronic device when the additional pairing-intentinformation matches the pairing-intent information. In some embodiments,prior to establishing the connection (operation 220), the electronicdevice optionally compares the pairing-intent information and theadditional pairing-intent information. If a comparison criterion is notachieved (operation 218), method 200 ends. For example, if a differencebetween the additional pairing-intent information and the pairing-intentinformation exceeds another threshold value (such as an averagedifference of 5 or 10% or a maximum difference of 5 or 10%), theconnection may not be established. Otherwise (operation 218), theconnection is established (operation 220).

In some embodiments, the electronic device performs one or moreadditional operations in method 200. For example, establishing theconnection (operation 220) may involve: providing a command to the otherelectronic device to transition to a discovery mode when the additionalpairing-intent information matches the pairing-intent information;receiving confirmation from the other electronic device that the otherelectronic device is in the discovery mode; and then establishing theconnection.

Furthermore, the electronic device may: determine that a set of one ormore additional electronic devices is waiting to connect with the otherelectronic device; share that the electronic device is waiting toconnect with the other electronic device with the set of one or moreadditional electronic devices; provide the performance metric to the setof one or more additional electronic devices; and receive performancemetrics from the set of one or more additional electronic devices.

Additionally, the electronic device may: receive advertising packetsfrom a set of one or more additional electronic devices; compareperformance metrics associated with the communication with the set ofone or more additional electronic devices with the threshold value;identify at least a subset of the set of one or more additionalelectronic devices based on the comparisons; and repeat the providing ofthe pairing-intent information (operation 214), the receiving of theadditional pairing-intent information (operation 216), and theestablishing of the connection (operation 220) for the set of one ormore additional electronic devices.

FIG. 3 presents a drawing illustrating communication between theelectronic devices of FIG. 1. During method 200 (FIG. 2), input device110 transmits and an interface circuit 310 in electronic device 112receives an advertising packet 312. Then, a processor 314 compares 316 aperformance metric associated with communication with input device 110with a threshold value. If the performance metric exceeds the thresholdvalue, processor 314 instructs 318 an output device 320 (such as adisplay or one or more speakers) to provide pairing-intent informationspecifying a pairing intent for input device 110 and electronic device112 to a user of input device 110 based on comparison 316. Note that thepairing-intent information may be predefined or may be dynamicallygenerated by electronic device 112. For example, a sequence of one ormore characters may be generated using a random or a pseudorandom numbergenerator.

Next, input device 110 provides additional pairing-intent information322 specifying the pairing intent, which is received by interfacecircuit 310. Processor 314 compares 324 the pairing-intent informationand additional pairing-intent information 322. If additionalpairing-intent information 322 matches the pairing-intent information,processor 314 provides an instruction 326 to interface circuit 310. Inresponse, interface circuit 310 provides a command 328 to input device110 to transition to a discovery mode 330. Subsequently, input device110 provides and interface circuit 310 receives a confirmation 332 thatinput device 110 is in discovery mode 330. Then, interface circuit 310establishes a connection 334 with input device 110.

Note that at least some of the operations performed by processor 314 maybe performed by interface circuit 310.

We now describe exemplary embodiments of the communication technique.FIG. 4 presents a method 400 for establishing a connection betweenelectronic devices in FIG. 1, which may be performed by electronicdevice 112. In particular, if there are multiple hosts (such aselectronic devices 112 and 120 in FIG. 1) and one input device (such asinput device 110 in FIG. 1), electronic device 112 may detect the BTLEadvertisements from input device 110. Then, if electronic device 112detects other hosts (such as electronic device 120) waiting to connectwith input device 110, electronic devices 112 and 120 may share theirintent to establish connections or pair with input device 110.(Otherwise, electronic device 112 may pair with input device 110 usingmethod 200 in FIG. 2.) In addition, electronic devices 112 and 120 mayshare performance metrics (such as RSSI values) associated with theirrespective communication with input device 110. Note that the hosts mayshare their intent to establish connections even if some of the hostsand/or the input device cannot communicate directly.

If one of the hosts has a measured RSSI greater than x dBm (such as 5-10dBm) from the others (such as electronic device 112), then theconnection may be established between input device 110 and electronicdevice 112. Otherwise, electronic device 112 may form a group or a setout of the hosts that have RSSI values within y dBm (such as −20 to −30dBm) from the maximum RSSI value among the hosts (such as electronicdevices 112 and 120). Note that the numerical values are provided asillustrations and are not intended to be limiting. In other embodiments,different numerical values may be used.

Next, for each of the hosts, electronic device 112 may generate a randomsequence of one or more characters (such as alphanumeric characters)and/or a gesture, and electronic device 112 may share thispairing-intent information with the other hosts (such as electronicdevice 120).

In turn, each of the hosts may display the sequence and/or the gesture(and, more generally, may provide the pairing-intent information) to auser of input device 110 and request that the user of input device 110match the pairing-intent information. In response, the user may enterthe sequence and/or may perform the gesture using input device 110,which then transmits the additional pairing-intent information to theassociated host. After receiving the additional pairing-intentinformation, the host may confirm that the additional pairing-intentinformation matches the pairing-intent information, and this host maypair or establish the connection with input device 110. Next, the hostmay alert or update the other hosts. This process may repeat with otherhosts in the set of hosts, e.g., until all of the hosts in the set ofhosts have paired or established connections with input device 110.

FIG. 5 presents a method 500 for establishing a connection betweenelectronic devices in FIG. 1, which may be performed by electronicdevice 112. In particular, if there is one host (such as electronicdevice 112 in FIG. 1) and multiple input devices (such as input devices110 and 118 in FIG. 1), electronic device 112 may detect the BTLEadvertisements from input devices 110 and 118. Then, electronic device112 determines performance metrics (such as RSSI values) associated withthe communication with each of input devices 110 and 118.

If one of the input devices has a measured RSSI greater than x dBm (suchas 5-10 dBm) from the others (such as input device 110), then theconnection may be established between input device 110 and electronicdevice 112. Otherwise, electronic device 112 may form a group or a setout of the input devices that have RSSI values within y dBm (such as −20to −30 dBm) from the maximum RSSI value among the input devices (such asinput devices 110 and 118).

Next, for each of the input devices, electronic device 112 may generatea random sequence of one or more characters (such as alphanumericcharacters) and/or a gesture, and electronic device 112 may provide thispairing-intent information to the users of the input devices (such asthe users of input devices 110 and 118). For example, electronic device112 may display the pairing-intent information and request that theusers match it.

In response, the users of the input devices may enter the sequencesand/or may perform the gestures using input devices 110 and 118, whichthen transmit the additional pairing-intent information to electronicdevice 112. After receiving the additional pairing-intent information,electronic device 112 may confirm that the additional pairing-intentinformation matches the pairing-intent information, and then electronicdevice 112 may pair or establish the connection with input devices 110and 118.

FIG. 6 presents a method 600 for establishing a connection betweenelectronic devices in FIG. 1, which may be performed by electronicdevice 112. In particular, if there are multiple hosts (such aselectronic devices 112 and 120 in FIG. 1) and multiple input devices(such as input devices 110 and 118 in FIG. 1), electronic device 112 maydetect the BTLE advertisements from input devices 110 and 118. Then,electronic device 112 may share its intent to pair with one of the inputdevices (such as input device 110). In addition, electronic devicedetermines a performance metric (such as an RSSI value) associated withthe communication with input device 110, and shares this performancemetric with the other hosts (such as electronic device 120). Note thatthe hosts may share their intent to establish connections even if someof the hosts and/or some of the input devices cannot communicatedirectly.

For each of the input devices (such as input device 110), if one of thehosts has a measured RSSI greater than x dBm (such as 5-10 dBm) from theothers (such as electronic device 112), then the connection may beestablished between input device 110 and electronic device 112.Otherwise, electronic device 112 may form a group or a set out of thehost devices that have RSSI values within y dBm (such as −20 to −30 dBm)from the maximum RSSI value among the hosts (such as electronic devices112 and 120).

Next, for each of the hosts in the set, electronic device 112 maygenerate a random sequence of one or more characters (such asalphanumeric characters) and/or a gesture, and electronic device 112 mayprovide this pairing-intent information to the hosts in the set.Furthermore, each of the hosts may provide the pairing-intentinformation to user of input device 110. For example, electronic device112 may display the pairing-intent information and request that the usermatch it.

In response, the user of input device 110 may enter the sequences and/ormay perform the gestures using input device 110, which then transmitsthe additional pairing-intent information to the set of hosts. Afterreceiving the additional pairing-intent information, a target host (suchas electronic device 112) may confirm that the additional pairing-intentinformation matches the pairing-intent information, and then electronicdevice 112 may pair or establish the connection with input device 110.

These operations are repeated for each of the input devices (such asinput device 118). Then, method 600 ends.

In some embodiments of the preceding methods, there may be additional orfewer operations. For example, if two or more of the gestures and/orsequences of one or more characters conflict with each other, electronicdevice 112 (FIG. 1) may provide new ones. Moreover, electronic device112 (FIG. 1) may generate the gestures and/or sequences of one or morecharacters, or electronic device 112 (FIG. 1) may use predefinedgestures and/or sequences of one or more characters. Furthermore, insome embodiments of the communication technique, the use of theperformance metric is excluded. Additionally, the order of theoperations may be changed, and/or two or more operations may be combinedinto a single operation. Note that a given gesture and/or a givensequence of one or more characters may have a timeout associated withit, so that it is only valid or can only be used to indicate an intentto establish a connection within a time window (such as 30 s, 1 min, 2min or 5 min) after the given gesture and/or the given sequence of oneor more characters is provided by electronic device 112 (FIG. 1).

In an exemplary embodiment, a Bluetooth trackpad or keyboard (and, moregenerally, an input device) may need to be paired with a host (aBluetooth master) before use. Traditionally, Bluetooth pairing mayrequire the slave device (such as the input device) to be in adiscoverable or a discovery mode for the host to scan/inquire/page theslave and to pair with it. Moreover, this often requires the additionalinstructions be provided to the user as to how to set the slave deviceto the discovery mode.

In the communication technique, a gesture or a sequence of one or morecharacters is combined with BTLE RSSI to establish the pairing. Thiscommunication technique may not require the user to activate thediscovery mode before the pairing.

During the communication technique, the slave device may transmit a BTLEadvertisement with its identification information, including: a vendoridentifier (VID), a product identifier (PID), Bluetooth address, etc. Ifthe host receives the BTLE advertisement and identifies it as thespecific input device via VID and/or PID, the host may check that thereis only one host and only one slave device, and that the slave device iswithin a predefined range (e.g., based on the RSSI). If both conditionsare satisfied, the host may send a signal to the input device and mayprocess the pairing automatically (e.g., without additional useraction).

However, when there are multiple hosts and/or slave devices within apredefined range, the hosts may communicate with each other and sharethe range to each slave device. One or more of the hosts may process therange information from itself and the other hosts, and may determine ifonly one master/slave device satisfies the range condition. Then, theone or more hosts may share this range information with the othermasters.

If one master/slave device combination is not found, the one or morehosts may generate a gesture and/or a sequence of characters and ask thecorresponding slave device to match it. This gesture and/or sequence ofcharacters may serve the function of picking the correct slave deviceand pairing password. Note that, if any master/slave device combinationpairs, this master may update the other hosts to avoid mis-pairing.

In some embodiments, the host uses the gesture and/or the sequence ofcharacters to identify which slave devices to pair with without checkingthe range of the slave devices. Moreover, the gesture and/or a sequenceof characters may serve as the password when the master and the slavedevice pair. Furthermore, the hosts may mutually share theirpairing-intent information and the pairing-intent information for theslave device for pairing. Additionally, if any host successfully pairswith one of the slave devices, it may update the other hosts.

We now describe embodiments of the electronic device. FIG. 7 presents ablock diagram illustrating an electronic device 700, such as electronicdevice 112 in FIG. 1. This electronic device includes processingsubsystem 710, memory subsystem 712, and networking subsystem 714.Processing subsystem 710 includes one or more devices configured toperform computational operations. For example, processing subsystem 710can include one or more microprocessors, application-specific integratedcircuits (ASICs), microcontrollers, programmable-logic devices, and/orone or more digital signal processors (DSPs).

Memory subsystem 712 includes one or more devices for storing dataand/or instructions for processing subsystem 710 and networkingsubsystem 714. For example, memory subsystem 712 can include dynamicrandom access memory (DRAM), static random access memory (SRAM), and/orother types of memory. In some embodiments, instructions for processingsubsystem 710 in memory subsystem 712 include: one or more programmodules or sets of instructions (such as program module 722 or operatingsystem 724), which may be executed by processing subsystem 710. Notethat the one or more computer programs may constitute a computer-programmechanism. Moreover, instructions in the various modules in memorysubsystem 712 may be implemented in: a high-level procedural language,an object-oriented programming language, and/or in an assembly ormachine language. Furthermore, the programming language may be compiledor interpreted, e.g., configurable or configured (which may be usedinterchangeably in this discussion), to be executed by processingsubsystem 710.

In addition, memory subsystem 712 can include mechanisms for controllingaccess to the memory. In some embodiments, memory subsystem 712 includesa memory hierarchy that comprises one or more caches coupled to a memoryin electronic device 700. In some of these embodiments, one or more ofthe caches is located in processing subsystem 710.

In some embodiments, memory subsystem 712 is coupled to one or morehigh-capacity mass-storage devices (not shown). For example, memorysubsystem 712 can be coupled to a magnetic or optical drive, asolid-state drive, or another type of mass-storage device. In theseembodiments, memory subsystem 712 can be used by electronic device 700as fast-access storage for often-used data, while the mass-storagedevice is used to store less frequently used data.

Networking subsystem 714 includes one or more devices configured tocouple to and communicate on a wired and/or wireless network (i.e., toperform network operations), including: control logic 716, an interfacecircuit 718 and one or more antennas 720. For example, networkingsubsystem 714 can include a Bluetooth networking system, a cellularnetworking system (e.g., a 3G/4G network such as UMTS, LTE, etc.), auniversal serial bus (USB) networking system, a networking system basedon the standards described in IEEE 802.11 (e.g., a Wi-Fi networkingsystem), an Ethernet networking system, and/or another networkingsystem.

Networking subsystem 714 includes processors, controllers,radios/antennas, sockets/plugs, and/or other devices used for couplingto, communicating on, and handling data and events for each supportednetworking system. Note that mechanisms used for coupling to,communicating on, and handling data and events on the network for eachnetwork system are sometimes collectively referred to as a ‘networkinterface’ for the network system. Moreover, in some embodiments a‘network’ between the electronic devices does not yet exist. Therefore,electronic device 700 may use the mechanisms in networking subsystem 714for performing simple wireless communication between the electronicdevices, e.g., transmitting advertising or beacon frames and/or scanningfor advertising frames transmitted by other electronic devices asdescribed previously.

Within electronic device 700, processing subsystem 710, memory subsystem712, and networking subsystem 714 are coupled together using bus 728.Bus 728 may include an electrical, optical, and/or electro-opticalconnection that the subsystems can use to communicate commands and dataamong one another. Although only one bus 728 is shown for clarity,different embodiments can include a different number or configuration ofelectrical, optical, and/or electro-optical connections among thesubsystems.

In some embodiments, electronic device 700 includes a display subsystem726 for displaying information on a display, which may include a displaydriver and the display, such as a liquid-crystal display, a multi-touchtouchscreen, etc.

Electronic device 700 can be (or can be included in) any electronicdevice with at least one network interface. For example, electronicdevice 700 can be (or can be included in): a desktop computer, a laptopcomputer, a server, a media player (such as an MP3 player), anappliance, a subnotebook/netbook, a tablet computer, a smartphone, acellular telephone, an input device (such as a wireless keyboard, awireless touchpad, a peripheral device, etc.), a piece of testingequipment, a network appliance, a set-top box, a personal digitalassistant (PDA), a toy, a controller, a digital signal processor, a gameconsole, a computational engine within an appliance, aconsumer-electronic device, a portable computing device, a personalorganizer, a sensor, a user-interface device and/or another electronicdevice.

Although specific components are used to describe electronic device 700,in alternative embodiments, different components and/or subsystems maybe present in electronic device 700. For example, electronic device 700may include one or more additional processing subsystems 710, memorysubsystems 712, networking subsystems 714, and/or display subsystems726. Additionally, one or more of the subsystems may not be present inelectronic device 700. Moreover, in some embodiments, electronic device700 may include one or more additional subsystems that are not shown inFIG. 7. For example, electronic device 700 can include, but is notlimited to, a data collection subsystem, an audio and/or videosubsystem, an alarm subsystem, a media processing subsystem, and/or aninput/output (I/O) subsystem. Also, although separate subsystems areshown in FIG. 7, in some embodiments, some or all of a given subsystemor component can be integrated into one or more of the other subsystemsor component(s) in electronic device 700. For example, in someembodiments program module 722 is included in operating system 724.

Moreover, the circuits and components in electronic device 700 may beimplemented using any combination of analog and/or digital circuitry,including: bipolar, PMOS and/or NMOS gates or transistors. Furthermore,signals in these embodiments may include digital signals that haveapproximately discrete values and/or analog signals that have continuousvalues. Additionally, components and circuits may be single-ended ordifferential, and power supplies may be unipolar or bipolar.

An integrated circuit may implement some or all of the functionality ofnetworking subsystem 714, such as a radio. Moreover, the integratedcircuit may include hardware and/or software mechanisms that are usedfor transmitting wireless signals from electronic device 700 andreceiving signals at electronic device 700 from other electronicdevices. Aside from the mechanisms herein described, radios aregenerally known in the art and hence are not described in detail. Ingeneral, networking subsystem 714 and/or the integrated circuit caninclude any number of radios. Note that the radios in multiple-radioembodiments function in a similar way to the described single-radioembodiments.

In some embodiments, networking subsystem 714 and/or the integratedcircuit include a configuration mechanism (such as one or more hardwareand/or software mechanisms) that configures the radio(s) to transmitand/or receive on a given communication channel (e.g., a given carrierfrequency). For example, in some embodiments, the configurationmechanism can be used to switch the radio from monitoring and/ortransmitting on a given communication channel to monitoring and/ortransmitting on a different communication channel. (Note that‘monitoring’ as used herein comprises receiving signals from otherelectronic devices and possibly performing one or more processingoperations on the received signals, e.g., determining if the receivedsignal comprises an advertising frame, etc.)

While a communication protocol compatible with the Bluetooth Low Energystandard was used as an illustrative example, the described embodimentsof the communication techniques may be used in a variety of networkinterfaces. Furthermore, while some of the operations in the precedingembodiments were implemented in hardware or software, in general theoperations in the preceding embodiments can be implemented in a widevariety of configurations and architectures. Therefore, some or all ofthe operations in the preceding embodiments may be performed inhardware, in software or both. For example, at least some of theoperations in the detection technique may be implemented using programmodule 722, operating system 724 (such as a driver for interface circuit718), or in firmware in interface circuit 718. Alternatively oradditionally, at least some of the operations in the detection techniquemay be implemented in a physical layer, such as hardware in interfacecircuit 718.

In the preceding description, we refer to ‘some embodiments.’ Note that‘some embodiments’ describes a subset of all of the possibleembodiments, but does not always specify the same subset of embodiments.

The foregoing description is intended to enable any person skilled inthe art to make and use the disclosure, and is provided in the contextof a particular application and its requirements. Moreover, theforegoing descriptions of embodiments of the present disclosure havebeen presented for purposes of illustration and description only. Theyare not intended to be exhaustive or to limit the present disclosure tothe forms disclosed. Accordingly, many modifications and variations willbe apparent to practitioners skilled in the art, and the generalprinciples defined herein may be applied to other embodiments andapplications without departing from the spirit and scope of the presentdisclosure. Additionally, the discussion of the preceding embodiments isnot intended to limit the present disclosure. Thus, the presentdisclosure is not intended to be limited to the embodiments shown, butis to be accorded the widest scope consistent with the principles andfeatures disclosed herein.

What is claimed is:
 1. A first electronic device, comprising: anantenna; an interface circuit, coupled to the antenna; a processor,coupled to the interface circuit, wherein the processor is configuredto: receive an advertising packet from a second electronic device;compare a first performance metric associated with the advertisingpacket with a threshold; determine that the first performance metricsatisfies the threshold; provide first information specifying a firstpairing intent to pair the first electronic device with the secondelectronic device; receive, from the second electronic device, firstadditional information specifying the first pairing intent that waspreviously provided from the first electronic device; determine that adifference between the first additional information and the firstinformation satisfies a second threshold; and establish a connectionbetween the first electronic device and the second electronic device. 2.The first electronic device of claim 1, wherein to establish theconnection the interface circuit is configured to: transmit a command tothe second electronic device to transition to a discovery mode; receiveconfirmation from the second electronic device that the secondelectronic device is in the discovery mode; and establish theconnection.
 3. The first electronic device of claim 1, wherein, prior toestablishing the connection, the processor is further configured tocompare the first information and the first additional information. 4.The first electronic device of claim 1, wherein the first performancemetric includes a received signal strength indicator.
 5. The firstelectronic device of claim 1, wherein the first pairing intent comprisesat least one of: a gesture; or a sequence of one or more characters. 6.The first electronic device of claim 5, wherein the first additionalinformation comprises at least one of: the sequence of one or morecharacters; accelerometer data corresponding to the gesture; oruser-interface data corresponding to the gesture.
 7. The firstelectronic device of claim 1, wherein prior to establishing theconnection the processor is further configured to: provide the firstperformance metric to a third electronic device that is waiting toconnect with the second electronic device; and receive a secondperformance metric from the third electronic device, wherein the secondperformance metric is associated with a communication between the thirdelectronic device and the second electronic device.
 8. The firstelectronic device of claim 1, wherein the processor is furtherconfigured to: receive a second advertising packet from a thirdelectronic device; compare a second performance metric associated withthe second advertising packet with the threshold: determine that thesecond performance metric satisfies the threshold; provide secondinformation specifying a second pairing intent to pair the firstelectronic device with the third electronic device; receive, from thethird electronic device, a second additional information specifying thesecond pairing intent that was previously provided from the firstelectronic device; determine that a difference between the secondadditional information and the second information satisfies a thirdthreshold; and establish a second connection between the firstelectronic device and the third electronic device.
 9. The firstelectronic device of claim 1, wherein, when providing the firstinformation, the processor is configured to: display the firstinformation on the first electronic device, thereby prompting a user toprovide the first additional information with the second electronicdevice.
 10. A non-transitory computer-readable medium of a firstelectronic device having instructions stored therein, which whenexecuted by a processor, cause the processor to perform operations, theoperations comprising: receiving an advertising packet from a secondelectronic device; providing first information specifying a firstpairing intent to pair the first electronic device with the secondelectronic device; receiving, from the second electronic device, firstadditional information specifying the first pairing intent that waspreviously provided from the first electronic device; determining that adifference between the first additional information and the firstinformation satisfies a threshold; and establishing a connection betweenthe first electronic device and the second electronic device.
 11. Thenon-transitory computer readable medium of claim 10, wherein theoperations further comprise: transmitting a command to the secondelectronic device to transition to a discovery mode; receivingconfirmation from the second electronic device that the secondelectronic device is in the discovery mode; and establishing theconnection.
 12. The non-transitory computer-readable medium of claim 10,wherein prior to establishing the connection, the operations furthercomprise: comparing the first information and the first additionalinformation.
 13. The non-transitory computer-readable medium of claim10, further comprising: comparing a first performance metric associatedwith the advertising packet with a second threshold, wherein the firstperformance metric comprises a received signal strength indicator. 14.The non-transitory computer-readable medium of claim 13, wherein priorto establishing the connection the operations further comprise:providing the first performance metric to a third electronic device thatis waiting to connect with the second electronic device; and receiving asecond performance metric from the third electronic device, wherein thesecond performance metric is associated with a communication between thethird electronic device and the second electronic device.
 15. Thenon-transitory computer-readable medium of claim 10, wherein the firstpairing intent comprises at least one of: a gesture; or a sequence ofone or more characters.
 16. The non-transitory computer-readable mediumof claim 15, wherein the first additional information comprises at leastone of: the sequence of one or more characters; accelerometer datacorresponding to the gesture; or user-interface data corresponding tothe gesture.
 17. The non-transitory computer-readable medium of claim10, wherein the operations further comprise: receiving a secondadvertising packet from a third electronic device; providing secondinformation specifying a second pairing intent to pair the firstelectronic device with the third electronic device; receiving, from thethird electronic device, a second additional information specifying thesecond pairing intent that was previously provided from the firstelectronic device; determining that a difference between the secondadditional information and the second information satisfies a secondthreshold; and establishing a second connection between the firstelectronic device and the third electronic device.
 18. A method forestablishing a connection between a first electronic device and a secondelectronic device, the method comprising: receiving an advertisingpacket from the second electronic device; comparing a first performancemetric associated with the advertising packet with a threshold;determining that the first performance metric satisfies the threshold;providing first information specifying a first pairing intent to pairthe first electronic device with the second electronic device, whereinthe first pairing intent is valid during a settable time window;receiving, from the second electronic device, first additionalinformation specifying the first pairing intent that was previouslyprovided from the first electronic device; determining that a differencebetween the first additional information and the first informationsatisfies a second threshold; and establishing the connection betweenthe first electronic device and the second electronic device.
 19. Themethod of claim 18, wherein establishing the connection furthercomprises: transmitting a command to the second electronic device totransition to a discovery mode; receiving confirmation from the secondelectronic device that the second electronic device is in the discoverymode; and establishing the connection.
 20. The method of claim 18,wherein the first pairing intent comprises at least one of: a gesture;or a sequence of one or more characters.
 21. The method of claim 20,wherein the first additional information comprises at least one of: thesequence of one or more characters; accelerometer data corresponding tothe gesture; or user-interface data corresponding to the gesture.